package main

import "fmt"

func main() {
	// 定义局部变量
	var a int = 100
	var b int = 200

	fmt.Printf("交换前， a 的值 ： %d\n", a)
	fmt.Printf("交换前， b 的值 ： %d\n", b)

	/*
		调用 swap() 函数
		&a 指向 a 指针, a 变量的地址
		&b 指向 b 指针，b 变量的地址
	*/

	swap(&a, &b)

	fmt.Printf("交换后， a 的值 ： %d\n", a)
	fmt.Printf("交换后， b 的值 ： %d\n", b)
}

func swap(x *int, y *int) {
	var temp int
	temp = *x //保存 x 地址上的值
	*x = *y   //将 y 值赋给 x
	*y = temp //将 temp 值赋给 y
}
